During the regular life cycle of code development and testing, the testers execute based on provided test cases (detailed step-by-step instruction of how and what to test). The main course of executing test cases is to check for the existence of defects or errors in a program, project, or product, based on some predefined instructions or conditions.
One of the embodiments of this invention is generally directed to the need to group all related logs and traces, and provide them to the developers, in order for them to investigate, understand, and fix the problem.
When issues and problems occur during the testing, the testers communicate those issues to the developers. In large teams and/or for the purpose of tracking such issues, the information is recorded and tracked through a bug tracking system accessible to the developers. Testers often do not know which logs and traces need to be grouped and provided to the developers, in order for them to investigate, understand, and fix the problem.
In addition to the regular testing observations, the developers may need to have access to the logs and traces (i.e. detailed application and system generated information) generated during the test case execution on the test environment/machines.
Most of the defects cannot be understood simply by describing the steps performed by the tester, during testing phase due to timing, synchronization, concurrency, and others issues. There is also a possibility that the problem may not be reproduced on the next try either, by the developer during code fix, or by the tester during execution of the test cases. Consequently, the testers often need to repeat the test cases in order to provide the correct documentation and data to the developers.